#import <Cocoa/Cocoa.h>



@interface NSAffineTransform (RectMapping)

	/* set the NSAffineTransform so that it maps from a source
	rectangle to a destination rectangle. */
- (NSAffineTransform*)mapFrom:(NSRect) srcBounds to: (NSRect) dstBounds;

	/* set the NSAffineTransform so that it maps the rectangle specified
	in bounds to a rectangle height units high distance units above and centered
	over the origin.  This is operation is useful for preparing items for repeated
	rotation and translation about a particular point on the screen.  */ 
- (NSAffineTransform*)scaleBounds:(NSRect) bounds toHeight: 
	(float) height centeredAboveOrigin:(float) distance;

@end




@interface NSBezierPath (ShadowDrawing)

	/* fill a bezier path, but draw a shadow under it offset by the
	given angle (counter clockwise from the x-axis) and distance. */
- (void)fillWithShadowAtDegrees:(float) angle withDistance: (float) distance;

@end




@interface NSString (BezierConversions)

	/* convert a string into a NSBezierPath using the provided font. */
- (NSBezierPath*) bezierWithFont: (NSFont*) theFont;

@end

